package h0727;

import java.util.Scanner;

/**
 * @author 不知名帅哥
 * @version 1.0
 * @description 小华地图寻宝
 * @date 2024/7/27 19:30
 */
public class FindGoldInMap2 {
    static int m;
    static int n;

    static int gold = 0;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        m = a;
        n = b;

        sc.close();
        boolean[][] visited = new boolean[m][n];
        //采用DFS的方法
//        dfs(0, 0, k, visited);
        System.out.println(dfs(0,0,k,visited));
        System.out.println(gold);
    }

    //递归方法
    //gold放在这个里面就是局部变量，并不会影响外面的值。
//    private static void dfs(int x, int y, int k, boolean[][] visited) {
//        if (x >= m || x < 0 || y >= n || y < 0 || visited[x][y] || digitSum(x) + digitSum(y) > k) return;
//        visited[x][y] = true;
//        gold++;
//
//        dfs(x + 1, y, k, visited);
//        dfs(x - 1, y, k, visited);
//        dfs(x, y + 1, k, visited);
//        dfs(x, y - 1, k, visited);
//    }
    private static int dfs(int x,int y,int k,boolean[][] visited){
        if (x >= m || x < 0 || y >= n || y < 0 || visited[x][y] || digitSum(x) + digitSum(y) > k) return 0;
        visited[x][y]=true;
        int gold=1; //黄金+1

        gold+=dfs(x-1,y,k,visited);
        gold+=dfs(x+1,y,k,visited);
        gold+=dfs(x,y-1,k,visited);
        gold+=dfs(x,y+1,k,visited);
        return gold;
    }

    //求数位和
    private static int digitSum(int num) {
        int sum = 0;
        while (num != 0) {
            sum += num % 10;
            num /= 10;
        }
        return sum;
    }
}
